package com.geek.javase.ch11.work.supplierwork;

import java.util.function.Supplier;

/*
 *@author wangpeng
 *2025/10/22 12:22
 *@description TODO
 */
//求数组元素最大值，使用Supplier接口作为方法参数类型，通过Lambda表达式求出int数组中的最大值。
public class Demo1 {
    public static int maxNum(Supplier<Integer> integerSupplier){
        return integerSupplier.get();
    }
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        //原始写法
       /* int numberMax = maxNum(new Supplier<Integer>() {
            @Override
            public Integer get() {
                int max = arr[0];
                for (int arrs : arr) {
                    if (max < arrs) {
                        max = arrs;
                    }
                }
                return max;
            }
        });*/
        System.out.println("------------- Lambda简化 -----------");
        int numberMax = maxNum(() -> {
            int max = arr[0];
            for (int arrs : arr) {
                if (max < arrs) {
                    max = arrs;
                }
            }
            return max;
        });
        System.out.println(numberMax);
    }
}
